package hrx.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.UpdateTimestamp;

import javax.persistence.*;
import java.sql.Timestamp;
import java.util.Date;

/**
 * user和task的关系类
 */
//提供get，set方法
@Data
//提供满参构造方法
@AllArgsConstructor
//提供空参构造方法
@NoArgsConstructor
//该类为JPA实体类，会被JPA识别
@Entity
//指定对应的数据库表名
@Table(name = "user_task_relation")
public class Relation {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "relation_id")  // 匹配数据库列名
    private Integer relation_id;

    @Column(name = "user_id")  // 正确：匹配数据库的user_id
    private Integer user_id;

    @Column(name = "task_id")  // 正确：匹配数据库的task_id
    private Integer task_id;

    @Column(name = "admin_id")  // 正确：匹配数据库的admin_id
    private Integer admin_id;

    @UpdateTimestamp
    @Column(name = "relation_creat_time")  // 注意：是creat不是create
    private Timestamp relation_creat_time;

    // 修正列名映射，并设置自动生成时间
    @Column(name = "timestamp")  // 注意：数据库列名是timestamp（小写）
    @CreationTimestamp  // 插入时自动生成时间
    private Timestamp timestamp;  // 属性名与列名一致
}
